package com.lnsystem.model;

import java.util.LinkedList;
import java.util.List;

public class TechIndicator {
	
	// idea is this there will be 1:1 relationship between StockDaily and this class.
	// this class will hold sma, ema, bb-U, bb-m, bb-L values for a given date.
	// 
	
	private StockDailyData stock;
	
	private double sma50;
	private double sma20;
	private double sma200;
	private double ema10;
	private double ema8;
	
	private List<MovingAverage> movingAverages; //1:n with movingAverage table
	// based on property/config, this list will be populated with different movingaverages
	// like 50sma, 200sma, 20sma, 10ema, 8ema, 20ema etc..
	
	public List<MovingAverage> getMovingAverages() {
		return movingAverages;
	}
	
	
	public void setMovingAverages(List<MovingAverage> movingAverages) {
		this.movingAverages = movingAverages;
	}

	// Bollinger band values
	private double bbUpper;
	private double bbMiddle;
	private double bbLower;
	
	
	private int index; // index of the closing price in the list for which SMA was last computed.
	private double runningSum; // running sum of closing price from the last SMA calculation
	

	public StockDailyData getStock() {
		return stock;
	}


	public void setStock(StockDailyData stock) {
		this.stock = stock;
	}

	public double getBbUpper() {
		return bbUpper;
	}


	public void setBbUpper(double bbUpper) {
		this.bbUpper = bbUpper;
	}


	public double getBbMiddle() {
		return bbMiddle;
	}


	public void setBbMiddle(double bbMiddle) {
		this.bbMiddle = bbMiddle;
	}


	public double getBbLower() {
		return bbLower;
	}


	public void setBbLower(double bbLower) {
		this.bbLower = bbLower;
	}


	public int getIndex() {
		return index;
	}


	public void setIndex(int index) {
		this.index = index;
	}


	public double getRunningSum() {
		return runningSum;
	}


	public void setRunningSum(double runningSum) {
		this.runningSum = runningSum;
	}




/*
	public double getSma50() {
		return sma50;
	}





	public void setSma50(double sma50) {
		this.sma50 = sma50;
	}





	public double getSma20() {
		return sma20;
	}





	public void setSma20(double sma20) {
		this.sma20 = sma20;
	}





	public double getSma200() {
		return sma200;
	}





	public void setSma200(double sma200) {
		this.sma200 = sma200;
	}





	public double getEma10() {
		return ema10;
	}





	public void setEma10(double ema10) {
		this.ema10 = ema10;
	}





	public double getEma8() {
		return ema8;
	}





	public void setEma8(double ema8) {
		this.ema8 = ema8;
	}*/


    
    
	
	
	
}
